|
Da Fehler in Programmen nicht nur ärgerlich, sondern mitunter
auch sehr gefährlich sein können, muss versucht werden, diese
frühzeitig zu finden und zu eliminieren. Dafür gibt es neben der
dynamischen Analyse, die auf dem compilierten Code zur
Ausführungszeit arbeitet, auch die statische, die den Quelltext
untersucht. Bei dieser handelt es sich um ein falsifizierendes
Verfahren, welches je nach der Genauigkeit mit der die einzelnen
Analysen durchgeführt werden, einen Großteil der Fehler finden,
aber nicht ihre Absenz garantieren kann.
Das Problem der statischen Analysen liegt aber darin, dass im
Vorfeld keinerlei Informationen über das zu untersuchende Programm
vorliegen und nicht festgestellt werden kann, ob durch die
Verwendung eines teureren, dafür aber genaueren Algorithmuses auch
bessere Vorhersagen geliefert werden, mit denen Fehler weiter
eingegrenzt und besser korrigiert werden können. Ziel dieser Arbeit
sollte es sein, mittels empirischer Untersuchungen Maßzahlen aus C
und C++ Programmen zu gewinnen und mit deren Hilfe Ansätze zu
finden, wie der Aufwand der Analysen minimiert und gleichzeitig ihre
Genauigkeit maximiert werden kann.
|